package com.ctvit.sjk.knowledge.app.pojo.vo;

import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 应用认证
 *
 * @author heyingcheng
 * @date 2025/03/29
 */
@Getter
@Setter
@ToString
public class AppAuthenticationVO {

    @JsonProperty("application_id")
    private String applicationId;
    @JsonProperty("user_id")
    private String userId;
    @JsonProperty("access_token")
    private String accessToken;
    private String type;
    @JsonProperty("client_id")
    private String clientId;
    private Object authentication;

    public static final String KEY_APPLICATION_ID = "application_id";
    public static final String KEY_USER_ID = "user_id";
    public static final String KEY_ACCESS_TOKEN = "access_token";
    public static final String KEY_CLIENT_ID = "client_id";
    public static final String KEY_TYPE = "type";
    public static final String KEY_AUTHENTICATION = "authentication";

    public AppAuthenticationVO() {
        this.type = "APPLICATION_ACCESS_TOKEN";
        this.authentication = new JSONObject();
    }

}
